package kr.pe.johnkim.app.mobile.rest.service;

import kr.pe.johnkim.app.domain.MyHistoryMember;

/**
 * @author : johnkim <cale9797@gmail.com / Bettersoft Inc,.>
 * @Date : 12. 1. 26
 */
public interface MyHistoryMemberService {
    /**
     * 멤버 등록시 중복 확인을 한다.
     *
     * @param myHistoryMember
     * @return MyHistoryMember
     */
    public MyHistoryMember checkDuplication(MyHistoryMember myHistoryMember);

    /**
     * 멤버를 등록 한다.
     *
     * @param myHistoryMember
     * @return True or False
     */
    public boolean registerMember(MyHistoryMember myHistoryMember) throws Exception;

    /**
     * 멤버 로그인을 한다.
     *
     * @param myHistoryMember
     * @return MyHistoryMember
     */
    public MyHistoryMember login(MyHistoryMember myHistoryMember);

    /**
     * 멤버 정보를 수정 한다.
     *
     * @param myHistoryMember
     * @return
     */
    public boolean updateMember(MyHistoryMember myHistoryMember);

    /**
     * 멤버를 비활성화 한다.
     *
     * @param myHistoryMember
     * @return
     */
    public boolean updateDeactivateMember(MyHistoryMember myHistoryMember);

    /**
     * 사용자의 마일리지를 가져 온다.
     *
     * @param myHistoryMember
     * @return
     */
    public MyHistoryMember selectMileage(MyHistoryMember myHistoryMember);

    /**
     * 마일리지를 업데이트(추가) 한다.
     *
     * @param myHistoryMember
     * @return
     */
    public boolean updateMileage(MyHistoryMember myHistoryMember);

    /**
     * 사용자 비밀번호를 변경 한다.
     *
     * @param myHistoryMember
     * @return
     */
    public boolean updatePassword(MyHistoryMember myHistoryMember);

    /**
     * 사용자 이메일을 업데이트 한다.
     *
     * @param myHistoryMember
     * @return
     */
    public boolean updateEmail(MyHistoryMember myHistoryMember);
}
